1. Field of the Invention
The present invention is generally directed to graphics processor units, and more particularly to using graphics processor units to perform game physics simulations.
2. Background Art
An application, such as a video game, running on a computer system may require both physics simulations and graphics rendering. For example, FIG. 1 depicts a block diagram 100 of a typical pipeline for computing and displaying the motion of one or more characters depicted in a scene of a video game. In a step 110, physics simulations are performed to determine the motion of the one or more characters depicted in the scene. Then in a step 120, the results of the physics simulations are graphically rendered for visualization by an end-user.
The physics simulations of step 110 are typically performed by a physics engine that is executed on a central processing unit (CPU) or a dedicated device of the computer system. Then, the graphics rendering of step 120 is performed by a graphics processing unit (GPU). Ultimately, however, the results produced by the physics engine are used to modify the graphics of the video game (or, more generally, the application), and therefore will be passed to the GPU in some form. Because the results from the physics engine must be passed to the GPU for rendering, latency and bandwidth problems may arise. Furthermore, as a general processing unit, a CPU does not possess the parallel processing capabilities of a GPU.
Given the foregoing, what is needed is a method, computer program product, and system for performing physics simulations on one or more GPUs.